As the addresses of Internet Protocol version 4 (IPv4) are exhausted and a service requires a terminal be “always online”, it will be certain that Internet Protocol version 6 (IPv6) technology is deployed. In order to introduce the concept of IPv6 network step by step, the construction of IPv6 network and IPv4/IPv6 dual stack network will be the first step for deploying IPv6 technology. However, the current host devices have a great amount of IPv4 applications but only a very little amount of IPv6 applications, thus it will become an important problem to be solved in the initial stages of the transition scheme of IPv6 that how IPv4 applications are accessed and intercommunicated between host devices in an IPv6 network.
In the prior art, SIIT algorithm provides a method for an IPv6 application to communicate with an IPv4 node via an IPv6 network and an IPv4 network. In this method, an SIIT translator is set on the network topology path on which a data packet passes in and out of the IPv6 network; when a large amount of data streams that access to external IPv4 applications appear in the network, the SILT translator needs to translate each data stream and save the state thereof, which makes the processing load of the network system very heavy and is easy to cause a Single Point of Failure in the system. Moreover, SILT algorithm does not provide a method for an IPv4 application to communicate with an IPv4 node via an IPv6 network.
Furthermore, an BIS algorithm of the prior art provides a method for an IPv4 application to access to an IPv6 node in an IPv6 network. In this method, a translation module is added to a host device with the IPv4 application, for monitoring data streams between a TCP/IP module and a network card driver and mutually translating between the IPv4 and IPv6 data packets. When a host device with an IPv4 application communicates with other IPv6 host devices, some IPv4 addresses are allocated in the host device to the corresponding IPv6 host devices, and these addresses are only used inside this host device. Moreover, such an allocation process is accomplished via a DNS protocol automatically. Thus, the host device with the IPv4 application may convert a data packet to be sent to the opposite end IPv6 node into an IPv6 data packet through the translation module, or it may convert a received IPv6 data packet into an IPv4 data packet and transfer the IPv4 data packet to the IPv4 application, thereby realizing the communication with the IPv6 node in the IPv6 network. However, in a scene of practical application, it is possible that an IPv4 application needs to access to another IPv4 application via an IPv6 network, then the BIS algorithm has no solution for such a scene.
In another scheme of the prior art, it is put forward that a border conversion gateway device is deployed on the edge of IPv4 and IPv6 networks, where the border conversion gateway device converts a data packet sent to the IPv4 network from the IPv6 network into an IPv4 data packet, and converts a data packet sent to the IPv6 network from the IPv4 network into an IPv6 data packet. Thus, by combining this scheme with the above BIS algorithm, the problem that an IPv4 application accesses to another IPv4 application via an IPv6 network may be solved. However, because a dedicated border conversion gateway device needs to be deployed on the edge of IPv4 and IPv6 networks to realize the conversion of data packets, the processing load of the network system will be made very heavy, and it will be easy to cause the problem of Single Point of Failure. Moreover, although an IPv4 application can access to an IPv4 node in an IPv4 network via an IPv6 network by employing this technical solution, this solution is only limited to a scene in which the opposite end is an IPv4 node (or a host device with an IPv4 application); that is, when the IPv4 application communicates, it takes for granted that the opposite end is an IPv4 node or a host device with an IPv4 application, if the opposite end is an IPv6 node, communication will be unable to be carried out or a communicate error will occur, which greatly limits the flexibility of communication via an IPv6 network for an IPv4 application.
In conclusion, all the prior art methods for an IPv4 application to access to another IPv4 application via an IPv6 network need to deploy a dedicated device (for example, the above SIIT translator or border conversion gateway device) on the edge of IPv4 and IPv6 networks for address translating and serving an application information conversion function of the application layer gateway (ALG) (i.e., application layer gateway function). Especially, it has been proved by practice that the addition of the application layer gateway function will bring a heavy processing load to the network system, which makes it easy to cause the problem of Single Point of Failure.